package com.gzhryc.shared_device.cdcz.code.dao.db;

import com.gzhryc.jdbc.annotaion.Column;
import com.gzhryc.jdbc.annotaion.DateBranchTable;
import com.gzhryc.jdbc.annotaion.Id;
import com.gzhryc.jdbc.annotaion.Table;
import com.gzhryc.jdbc.enums.DateBranchTableType;
import com.gzhryc.shared_device.iot.code.IIOTLogEntity;

import java.util.Date;

/**
 * 充电插座插孔瞬时日志
 * @version 2022-10-07
 */
@DateBranchTable(type= DateBranchTableType.month)
@Table(name="cdcz_slot_instant_log")
public class CDCZSlotInstantLog implements IIOTLogEntity {

    @Id
    protected Long id;

    @Column(name = "device_sn",notNull = true)
    protected String deviceSn;

    @Column(name = "slot_num",notNull = true)
    protected Integer slotNum;

    @Column(name = "iot_id",notNull = true,note = "IOT节点ID")
    protected Long iotId;

    @Column(name="overload_state",notNull = true, defVal = "1", note = "过载状态")
    protected Integer overloadState;

    @Column(name="power_state",notNull = true, defVal = "0", note = "通电状态")
    protected Integer powerState;

    @Column(name="temperature_state",notNull = true, defVal = "1", note = "温度状态")
    protected Integer temperatureState;

    @Column(name="instant_power",notNull = true, defVal = "0", note = "瞬时功率")
    protected Double instantPower;

    @Column(name="instant_current",notNull = true, defVal = "0", note = "瞬时电流")
    protected Double instantCurrent;

    @Column(name = "create_date")
    protected Date createDate;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDeviceSn() {
        return deviceSn;
    }

    public void setDeviceSn(String deviceSn) {
        this.deviceSn = deviceSn;
    }

    public Integer getSlotNum() {
        return slotNum;
    }

    public void setSlotNum(Integer slotNum) {
        this.slotNum = slotNum;
    }

    @Override
    public Long getIotId() {
        return iotId;
    }

    public void setIotId(Long iotId) {
        this.iotId = iotId;
    }

    public Integer getOverloadState() {
        return overloadState;
    }

    public void setOverloadState(Integer overloadState) {
        this.overloadState = overloadState;
    }

    public Integer getPowerState() {
        return powerState;
    }

    public void setPowerState(Integer powerState) {
        this.powerState = powerState;
    }

    public Integer getTemperatureState() {
        return temperatureState;
    }

    public void setTemperatureState(Integer temperatureState) {
        this.temperatureState = temperatureState;
    }

    public Double getInstantPower() {
        return instantPower;
    }

    public void setInstantPower(Double instantPower) {
        this.instantPower = instantPower;
    }

    public Double getInstantCurrent() {
        return instantCurrent;
    }

    public void setInstantCurrent(Double instantCurrent) {
        this.instantCurrent = instantCurrent;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

}
